package com.jelly.web.modules.system.permission.service;

import com.jelly.common.web.tree.Tree;
import com.jelly.web.modules.system.permission.domain.Permission;
import com.jelly.web.modules.system.permission.domain.PermissionAndRole;

import java.util.List;

/**
 * @创建人 ql
 * @创建时间 2018-08-17 10:55
 * @功能描述: 权限接口
 **/
public interface IPermissionService {
    /**
     * 获取权限ree数结构
     * @return
     */
    Tree<Permission> getTreePermission(Permission permission);

    /**
     * 查询拦截详情
     */
     List<PermissionAndRole> loadFilterChainDefinitions();

    /**
     * 查询权限
     * @param url 权限URL
     * @return
     */
     List<Permission> getPermissionIdList(String url);
    /**
     * 查询权限列表
     * @return
     */
     List<Permission> getPermissionList(String isState);
    /**
     * 查询权限列表
     * @return
     */
     List<Permission> getPermissionList(Permission permission);

    /**
     * 通过id查询权限
     * @return
     */
     Permission getPermissionId(String permissionId);

    /**
     * 修改权限
     * @return
     */
     boolean updatePermission(Permission permission);

    /**
     * 新增权限
     * @return
     */
     boolean addPermission(Permission permission);

    /**
     * 删除权限
     * @return
     */
     boolean delectPermission(String permissionId);

}
